package model;

import java.util.ArrayList;
import java.util.List;



public class Commande extends AbstractModele 
{
	private ArrayList <LigneCommande> lignesCommande;
	private String date;
	private int idConfirmation;
	
	public Commande()
	{
		lignesCommande = new ArrayList<LigneCommande>();
	}
	
	public int getIdConfirmation()
	{
		return idConfirmation;
	}
	
	public void setIdConfirmation(int _idConfirmation)
	{
		idConfirmation = _idConfirmation;
		setChanged();
		notifyObservers();
	}
	
	public void addLigneCommande(LigneCommande _ligneCommande)
	{
		boolean found = false;
		for(LigneCommande lc : lignesCommande)
		{
			if(lc.getPlat().equals(_ligneCommande.getPlat()))
			{
				lc.qty += _ligneCommande.getQty();
				found = true;
			}
		}
		if(!found) lignesCommande.add(_ligneCommande);
		setChanged();
		notifyObservers();
	}
	
	public void removeLigneCommande(LigneCommande _ligneCommande)
	{
		lignesCommande.remove(_ligneCommande);
		setChanged();
		notifyObservers();
	}
	
	public void clear()
	{
		lignesCommande.clear();
		setChanged();
		notifyObservers();
	}
	
	public ArrayList<LigneCommande> getLignesCommande()
	{
		return lignesCommande;
	}
	
	public float getTotal()
	{
		float prixTotal = 0;
		
		for(LigneCommande lc : lignesCommande) 
		{
		     prixTotal += lc.getPlat().getPrix() * lc.getQty();
		}
		return prixTotal;		
	}
}
